package com.dj.mingkong.portal.biz.service.music;


import com.dj.mingkong.common.infrastructure.base.dto.delete.DeleteVo;
import com.dj.mingkong.common.infrastructure.base.dto.page.PageVo;
import com.dj.mingkong.portal.biz.controller.music.vo.request.BoxAddVo;
import com.dj.mingkong.portal.biz.controller.music.vo.request.BoxQueryVo;
import com.dj.mingkong.portal.biz.controller.music.vo.request.BoxUpdateVo;
import com.dj.mingkong.portal.biz.controller.music.vo.response.BoxDetailVo;
import com.dj.mingkong.portal.biz.controller.music.vo.response.BoxVo;

import java.util.List;

/**
 * 音乐盒服务接口
 *
 * @author zenglonghui
 * @date: 2022/8/31 22:02
 */
public interface BoxService {
    /**
     * 添加音乐盒
     *
     * @param addVo {}
     */
    void add(BoxAddVo addVo);

    /**
     * 修改音乐盒
     *
     * @param updateVo {}
     */
    void updateById(BoxUpdateVo updateVo);

    /**
     * 获取我的音乐盒列表
     *
     * @param userId long
     * @return BoxVo
     */
    List<BoxDetailVo> listMyBox(Long userId);

    /**
     * 分页查询音乐盒列表
     *
     * @param queryVo {}
     * @return BoxVo
     */
    PageVo<BoxVo> pageByVo(BoxQueryVo queryVo);

    /**
     * 删除歌单
     *
     * @param deleteVo {}
     */
    void deleteById(DeleteVo deleteVo);

    /**
     * 模糊搜索建议数据
     *
     * @param name String
     * @return BoxEsEo
     */
    //SearchHits<BoxEsEo> searchLikeName(String name);

    /**
     * 分页搜索
     *
     * @param queryVo {}
     * @return BoxEsEo
     */
    //SearchHits<BoxEsEo> searchByVo(BoxQueryEsVo queryVo);
}
